package com.bl.student.service.vo.detail;

import com.bl.student.common.enums.DetailType;
import com.bl.student.common.enums.OnlineStatus;
import com.bl.student.common.enums.SwitchStatus;
import com.bl.student.dao.model.UserVoteEntity;
import com.bl.student.dao.model.VoteEntity;
import com.bl.student.dao.model.custom.DetailItem;
import com.bl.student.service.vo.AbstractVo;
import com.bl.student.service.vo.user.UserSimpleInfoVo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;

/**
 * Created by yujingyi on 2018/2/1.
 */
@Data
public class DetailVo extends AbstractVo {

    @ApiModelProperty(value = "id")
    private String id;

    @ApiModelProperty(value = "内容")
    private List<DetailItem> content;

    @ApiModelProperty(value = "标题")
    private String title;

    @ApiModelProperty(value = "收藏数")
    private int collect;

    @ApiModelProperty(value = "观看数")
    private int view;

    @ApiModelProperty(value = "是否收藏")
    private boolean collected;

    @ApiModelProperty(value = "状态")
    private OnlineStatus status;

    @ApiModelProperty(value = "详情类型: CAMPUS 央清校园 PLAN 央清计划 EXPERIENCE 画痨经验 FAVORITE 我想看 NEWS 艺考咨询 COURSE 精品课程 STUDIO 画室 TEACHER 老师 ARENA 擂台")
    private DetailType type;

    @ApiModelProperty(value = "创建时间")
    private Long createTime;

    @ApiModelProperty(value = "修改时间")
    private Long updateTime;

    @ApiModelProperty(value = "评论状态(OPEN 开启 CLOSE 关闭)")
    private SwitchStatus comment;

    @ApiModelProperty(value = "投票列表")
    private List<VoteEntity> voteList;

    @ApiModelProperty(value = "用户投票记录，如不为空说明用户已经投过票")
    private UserVoteEntity userVote;

    @ApiModelProperty(value = "创建者信息(仅在详情为ugc时使用)")
    private UserSimpleInfoVo creator;
}
